<?php
/**
 * 数字人模型
*/

namespace app\common\model;

use think\model\concern\SoftDelete;

class UserDigitalHuman extends CommonBaseModel
{
//    use SoftDelete;
    // 自定义选择数据
    const CREATE_STATUS = [
        'wait',
        'pending',
        'success',
    ];
    //创建状态文本
    const CREATE_STATUS_TEXT = [
        'wait'=>'待处理',
        'pending'=>'处理中',
        'success'=>'创建成功'
    ];

    protected $name = 'user_digital_human';
    protected $autoWriteTimestamp = true;

    // 可搜索字段
    public array $searchField = [];

    // 可作为条件的字段
    public array $whereField = [];

    // 可作为多选条件的字段
    public array $multiWhereField = [];

    // 可做为时间
    public array $timeField = [];

    // 是否启用获取器
    public function getCreateStatusTextAttr($value, $data): string
    {
        return self::CREATE_STATUS_TEXT[$data['create_status']];
    }

    /**
     * 更新动作
     * @param User $data
     * @return void
     */
    public static function onBeforeInsert($data): void
    {
        $data->create_status = self::CREATE_STATUS[0];
    }
    /**
     * 是否启用获取器
    */
    public function getStatusTextAttr($value, $data): string
    {
        return self::BOOLEAN_TEXT[$data['status']];
    }


    /**
    * 关联用户
    */
    public function user()
    {
        return $this->belongsTo(User::class);
    }

}
